Wavelet thresholding is a sophisticated and effective approach for noise reduction. Thereby, wavelet transformations allow a finely graduated thresholding of the wavelet coefficients, resulting in a finely graduated noise reduction, which in most cases is the goal for noise reduction applications. Wavelet transformations are usually calculated using floating-point arithmetic.
For wavelet thresholding a wavelet decomposition of the input data is performed. For digital input data, this is done with the discrete wavelet transform (DWT), which can be realized with filter banks. Thereby, each cascading step is called a level. The DWT decomposes the input data into approximation and detail coefficients. FIG. 1 shows a simple one dimensional DWT with a low-pass filter L, a high-pass filter H and subsequent downsampling stages.
A two-dimensional DWT can be realized with one-dimensional DWTs by applying a row-column separation. Furthermore, the wavelet decomposition can be iterated resulting into a multi-level decomposition. FIG. 2 shows the wavelet decomposition for a 2D-DWT resulting in four sub-bands LL, LH, HL, HH. Sub-band LL contains the approximation coefficients, the other sub-bands detail coefficients.
FIG. 3 depicts a multi-level decomposition for a wavelet analysis based on a 2D-DWT, in which sub-band LL (i.e. approximation coefficients) of a level i is the input for the next level i+1. FIG. 3 shows three such levels.
Subsequent to the decomposition, the thresholding or shrinking of the detail wavelet coefficients (for 2D-DWT: e.g. LHi, HLi, HHi with i=1, . . . , N) is performed depending on the assigned noise model. This—in principle—leads to the reduction of noise. Thereby, the values of the wavelet coefficients w are modified based on a given threshold value T into resulting wavelet coefficients WT. There are certain established thresholding techniques. Amongst others these are hard-thresholding, soft-thresholding and other, more sophisticated thresholding-techniques, e.g. Zhang (Zhang, X.-P. and Desai, M. D.: Adaptive denoising based on SURE risk. In: IEEE Signal Processing Letters, 1998, vol. 5, no. 10, pp. 265-267).
The following equations and FIG. 4 further describe the hard- and soft-thresholding techniques.
                              w                      T            ,            hard                          =                  {                                                                      w                  ,                                                                                                                      w                                                        >                  T                                                                                                      0                  ,                                                                                                                      w                                                        ≤                  T                                                                                        (                  Eq          .                                          ⁢          1.1                )                                          w                      T            ,            soft                          =                  {                                                                                          w                    -                    T                                    ,                                                                              w                  ≥                  T                                                                                                                          w                    +                    T                                    ,                                                                              w                  ≤                                      -                    T                                                                                                                        0                  ,                                                                                                                      w                                                        <                  T                                                                                        (                  Eq          .                                          ⁢          1.2                )            
The straight-forward hard-thresholding benefits from the precision that floating-point arithmetic provides, as a finely graduated selection of the threshold value T is possible and therefore it can precisely be defined which wavelet values are to be set to zero. Soft-thresholding or further sophisticated thresholding-techniques also prune or otherwise reduce the wavelet coefficients, e.g. w-T. Consequently, with floating-point arithmetic also a finely graduated pruning is possible.
The use of floating-point arithmetic requires the use of architectures and/or processing platforms that support floating-point arithmetic. This can be considered to be at least expensive, and even inefficient for hardware (HW) processing platforms like FGPAs or certain digital signal processors. In order to circumvent this restriction, some wavelet transformations make use of filter coefficients that allow a processing in fixed-point arithmetic at a precision equal to floating-point arithmetic. Fixed-point arithmetic in general requires a growing precision for each level of the wavelet decomposition tree, which easily exceeds the usually available 16 or 32 bit. Consequently, those methods are also not efficient or even not applicable for those kinds of platforms.
A further solution is the use of an integer wavelet transform (IWT), which allows a mapping of integer input values to integer output values. The processing in between needs not necessarily be based on integer arithmetic. In addition, with the selection of special filter coefficients that allow a processing with integer arithmetic, the entire processing including the thresholding can be performed in integer arithmetic. Thereby, with the resulting integer wavelet coefficients a finely graduated thresholding including pruning is not possible, as the finest achievable graduation is the precision that integer arithmetic provides. Consequently, the processing has to rely on a less finely or even coarsely graduated thresholding, as e.g. a pruning in the decimal places is not supported. The coarsely graduated thresholding even remains if floating-point arithmetic is used for the in-between processing of the IWT.
One example, which allows the fixed-point approach as well as an IWT calculation completely with integer arithmetic, is the lifting implementation of the 5-tap/3-tap filter by Le Gall1,2. The equations for the lifting scheme for the one dimensional 5-tap/3-tap filter are shown below, where y(2n) (Eq. 2.1) represents the output of the high-pass and y(2n+1) (Eq. 2.2) the output of the low-pass. 1 Le Gall, D. & Tabatabai, A.: Sub-band coding of digital images using symmetric short kernel filters and arithmetic coding techniques. In: International Conference on Acoustics, Speech and Signal Processing, 1988, pp. 761-764 vol. 22 Skodras, A. et al. The JPEG 2000 still image compression standard. In: Signal Processing Magazine, IEEE, 2001, vol. 18, no. 5, pp. 36-58
                              y          ⁡                      (                                          2                ⁢                                                                  ⁢                n                            +              1                        )                          =                              x            ⁡                          (                                                2                  ⁢                                                                          ⁢                  n                                +                1                            )                                -                      ⌊                                                            x                  ⁡                                      (                                          2                      ⁢                                                                                          ⁢                      n                                        )                                                  +                                  x                  ⁡                                      (                                                                  2                        ⁢                                                                                                  ⁢                        n                                            +                      2                                        )                                                              2                        ⌋                                              (                  Eq          .                                          ⁢          2.1                )                                          y          ⁡                      (                          2              ⁢                                                          ⁢              n                        )                          =                              x            ⁡                          (                              2                ⁢                                                                  ⁢                n                            )                                +                      ⌊                                                            y                  ⁡                                      (                                                                  2                        ⁢                                                                                                  ⁢                        n                                            -                      1                                        )                                                  +                                  y                  ⁡                                      (                                                                  2                        ⁢                                                                                                  ⁢                        n                                            +                      1                                        )                                                  +                2                            4                        ⌋                                              (                  Eq          .                                          ⁢          2.2                )            
Taking the fixed-point approach above, for an input of 10 bit signed, the coefficients y(2n+1) are 12 bit signed and the coefficients y(2n) are 14 bit signed. Respective word widths are required for the processing steps of the calculation. With a simple approximation, namely 4-bit width increase for the low-pass and 2-bit increase for the high-pass, the required precision for a multi-level 2D-DWT can be estimated. For the first level, the coefficients of the sub-band LL1 require a word width of 18 bits, for the second level the coefficients of sub-band LL2 require 26 bits and for the third level the coefficients of sub-band LL3 require 34 bits.